define(function(require, exports){
	var $		= require("jquery");
	var pubjs	= require('pubjs');
	var popwin	= require('@base/dialog').base;

	var KeyReplace = popwin.extend({
		init:function(config){
			config = pubjs.conf(config, {
				'title': LANG('创意包名称关键词替换'),
				'width': 600,
				'id': null,
				'view_model': {
					'isAddMode': false
				}
			});

			this.Super('init', arguments);
		},
		afterBuild:function(){
			this.Super('afterBuild',arguments);
			var el = this.getDOM('body');
			el.addClass('');
			el.append($([
				'<div class="M-formConGroup">',
					'<label class="group-label">' + LANG("关键字：") + '</label>',
					'<div class="group-content">',
						'<span class="w50pct" pub-name="oldValue" pub-mod="@base/common/input.text"/>',
						'<span class="M-formSectionTips" pub-name="oldTip" pub-mod="@base/tip.desc"/>',
					'</div>',
				'</div>',
				'<div class="M-formConGroup">',
					'<label class="group-label">' + LANG("替换为：") + '</label>',
					'<div class="group-content">',
						'<span class="w50pct" pub-name="newValue" pub-mod="@base/common/input.text"/>',
						'<span class="M-formSectionTips" pub-name="newTip" pub-mod="@base/tip.desc"/>',
					'</div>',
				'</div>'
			].join('')));

			var config = {
				'oldValue': {
					'width': 310,
					'placeholder': LANG('旧关键字')
				},
				'newValue': {
					'width': 310,
					'placeholder': LANG('新关键字')
				},
				'oldTip': {
					'data': LANG('需要替换掉的关键字')
				},
				'newTip': {
					'data': LANG('需要替换成的关键字')
				}
			};

			this.buildFromTemplate(config);
		},
		afterBuildTemplate: function(){
		},
		setParam: function(ids){
			this.$ids = ids;
			return this;
		},
		reset: function(){
			var cs = this.$;
			cs.oldValue.setValue('');
			cs.newValue.setValue('');
			return this;
		},
		onOk: function(){
			var self = this;
			var cs = self.$;
			var oldValue = cs.oldValue.getValue();
			var newValue = cs.newValue.getValue();
			if(!oldValue) {
				pubjs.alert(LANG('请输入旧关键字'));
				return false;
			}

			pubjs.loading.show();
			pubjs.mc.send('sweety/keyReplace', {
				ids: self.$ids
				,field: 'Name'
				,newValue: newValue
				,oldValue: oldValue
			}, function(err, data){
				pubjs.loading.hide();
				self.hide();
				self.reset();
				if(err){
					pubjs.alert(err.message);
					return false;
				}
				if((data && data.ids) && !data.ids.length)
				{
					pubjs.alert(LANG('修改失败'));
				}
				else
				{
					pubjs.alert(LANG('修改成功'))
				}

				self.fire('batchOperateSuccess',{ids: data.ids});
				return false;
			});

			return false;
		},
		onCancel: function(){
			this.hide();
			this.reset();
			return this;
		}
	});

	exports.keyReplace = KeyReplace;
});